home *** CD-ROM | disk | FTP | other *** search
- unit Unit2;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs;
-
- type
- TForm1 = class(TForm)
- procedure FormCreate(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- private
- { Private declarations }
- function HookProc(var Message: TMessage): boolean;
- public
- { Public declarations }
- end;
-
- var
- Form1: TForm1;
-
- implementation
-
- {$R *.DFM}
-
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- Application.HookMainWindow(HookProc);
- end;
-
- procedure TForm1.FormDestroy(Sender: TObject);
- begin
- Application.UnHookMainWindow(HookProc);
- end;
-
- function TForm1.HookProc(var Message: TMessage): boolean;
- var
- LocalFlags: word;
- begin
- Result := false;
- if Message.Msg = WM_WindowPosChanging then
- begin
- with TWMWindowPosMsg(Message).WindowPos^ do
- begin
- if (hWnd = Application.Handle) and
- not IsIconic(hWnd) and
- (cx > 0) and (cy > 0) then
- begin
- LocalFlags := flags or SWP_NoZOrder;
- if BorderStyle = bsSizeable then
- LocalFlags := LocalFlags and not SWP_NoSize
- else
- LocalFlags := LocalFlags or SWP_NoSize;
- SetWindowPos(Self.Handle, 0, x, y, cx, cy, LocalFlags);
- end;
- end;
- end;
- end;
-
- end.
-